Gaming machine virtual player tracking and related services

ABSTRACT

A disclosed gaming machine provides a gaming machine with a plurality of software units providing player tracking services. The software player tracking units eliminate the need for a separate hardware player tracking unit. The player tracking devices, including the card reader, are accessible to the master gaming controller on the gaming machine and may be utilized by the master gaming controller for other gaming applications. The player tracking software incorporates communication protocols for communicating with a variety of player tracking devices. Communication protocols, device interfaces and device drivers for operating the player tracking devices and performing player tracking services may be added or upgraded by loading the player tracking software to a memory mounted within the gaming machine.

RELATED APPLICATION DATA

This application claims priority under U.S.C. 120 and is a continuation of U.S. application Ser. No. 09/642,192, titled “GAMING MACHINE VIRTUAL PLAYER TRACKING AND RELATED SERVICES,” filed Aug. 18, 2000, which is incorporated by reference and for all purposes.

BACKGROUND OF THE INVENTION

This invention relates to game playing services for gaming machines such as slot machines and video poker machines. More particularly, the present invention relates to methods of providing player tracking game services to casinos and game players.

There are a wide variety of associated devices that can be connected to a gaming machine such as a slot machine or video poker machine. Some examples of these devices are lights, ticket printers, card readers, speakers, bill validators, ticket readers, coin acceptors, display panels, key pads, coin hoppers and button pads. Many of these devices are installed within the gaming machine or components associated with the gaming machine such as a top box which usually sits on top of the gaming machine.

Typically, utilizing a master gaming controller, the gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate a game play. These steps require the gaming machine to control input devices, including bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including touch screens and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.

For gaming machine operators, an important aspect of gaming machine operations is determining the game playing habits of individual game players. When the game playing habits of an individual player are known, the gaming machine operator may provide incentives corresponding to the game playing habits of the individual game player to encourage additional game play. For example, the gaming machine operator may provide an individual player with coupons for free meals, free rooms or discounted game play depending on their game playing habits. The game playing habits of individual game players are typically determined by monitoring game usage on a gaming machine using a player tracking device.

Currently, player tracking devices are manufactured as separate units before installation into a gaming machine. FIG. 1 is a block diagram of a gaming machine with a player tracking unit connected to a server providing player tracking services. A top box 130 is mounted on top of the main cabinet of the gaming machine. The player tracking unit 120 is mounted within the main cabinet of the gaming machine 100. However, the player tracking unit is usually mounted within the top box 130. The player tracking unit 120 is connected via the device connections 130 to three player tracking devices, a card reader 115, a key pad 110, and a display 105, all mounted within the top box 130. The gaming machine is connected to two servers, 150 and 155, via the network connections 140 and 145. The player tracking unit communicates with the player tracking server 150 via the network connections 140. The gaming machine communicates with the slot accounting server 155, independently of the player tracking unit 120, via the network connections 145 using a communication protocol of some type

The player tracking unit 120 is connected to the master gaming controller 125 via a serial connection 135. The gaming machine communicates with the player tracking unit 120 using a communication protocol of some type. For example, the master gaming controller 125 may employ a subset of the Slot Accounting System (SAS protocol) developed by International Game Technology of Reno, Nev. to communicate with the player tracking unit 120. Using a different serial connection from 135, the gaming machine may communicate with a host accounting system using the SAS protocol. For example, the master gaming controller 125 may communicate with the slot accounting server 155.

Typically, when a game player wants to playa game on a gaming machine and utilize the player tracking services on the gaming machine, a game player inserts a magnetic striped card into the card reader 115 mounted in the top box 130. A player's incentive for using the player tracking services are awards provided by the gaming machine operator. After the magnetic striped card has been inserted into the card reader 115, the player tracking unit may detect this event and receive certain information contained on the card. For example, a player's name and address, encoded on the magnetic striped card, may be received by the player tracking unit 120. The player tracking unit 120 may command the display 105 to display the game player's name on the display 105 with a message requesting the game player to validate their identity by entering an identification code using the key pad 110.

Once the game player's identity has been validated, the player tracking information is relayed to the player tracking server 150. The player tracking unit 120 may capture some of the game player's game playing habits and forward this player tracking information to the player tracking server 150 using the network 140 for storage and processing. For example, the player tracking unit 120 may poll the master gaming controller 125 to determine how much money the game player has wagered on each game, the time when each game was initiated and the location of the gaming machine.

The player tracking information, gathered by the player tracking unit 120, is usually converted into a communication format according to a communication protocol used by the player tracking server 150 or a communication protocol used by equipment comprising the network 140. For example, the network 140 may include concentrators that employ a different communication protocol than the player tracking server 150. Thus, translators may be employed that convert the communication protocol used by the concentrator to the communication protocol used by the player tracking server 150.

The servers, 150 and 155, may use the information from the player tracking unit to provide a player a game playing incentive or may be used to provide accounting services for the gaming machine 100. The information received by the servers may be sent by the player tracking unit 120 using the player tracking protocol or the information may be sent from the master gaming controller 125 using a machine accounting protocol (e.g. SAS). Some of the accounting services provided by the player tracking unit may be independent of whether a player utilizes the player tracking services. For example, each time a game player plays a game on the gaming machine 100, the player tracking unit 120 may send the amount wagered to one or both of the servers, using the player tracking protocol, although the game player's identity may have not been validated by the player tracking unit 120.

There are a number of disadvantages of using a separate hardware player tracking unit 120 to provide player tracking services. A first disadvantage is the player tracking unit is expensive. The cost of the player tracking unit is a significant fraction of the total cost of the gaming machine. A second disadvantage is the large number of companies that manufacture player tracking units. Currently, there are many different companies (as many as 19) that manufacture player tracking units that may be mounted in a gaming machine and many different types of player tracking units manufactured by each company. Some manufacturers of player tracking equipment include 1) Acres Gaming, Inc., Las Vegas, Nev., 2) Alliance Gaming Corporation (Bally's Gaming Systems), Las Vegas, Nev., 3) Aristocrat, Inc., Reno, Nev., 4) Casino Data Systems, Las Vegas, Nev., 5) Gaming Systems International, Las Vegas, Nev., 6) IGT, Reno, Nev., 7) Mikhon Gaming Corporation, Las Vegas, Nev., 8) Sigma Game, Inc., Las Vegas, Nev., 9) Silicon Gaming, Inc., Palo Alto, Calif., and 10) WMS Gaming, Inc., Chicago, Ill.

Typically, each of these companies use different hardware and several different communication protocols to design the player tracking unit. The variations of the player tracking units from manufacture add to the complexity of the design of the gaming machine. For example, mounting brackets within the gaming machine 100 are needed that can accommodate different player tracking hardware from each of the manufacturers of player tracking units. As another example, communication interfaces within the gaming machine are needed that allow the gaming machine to communicate with a particular player tracking unit using the communication protocol of the particular playing tracking unit. The communication protocols used by each player tracking unit tend to vary according to the manufacturer of the player tracking unit. Further, the different player tracking units typically have different power supply requirements which need to be accommodated. Also, player tracking units main separate connections to the host service. The separate connections require separate wiring for accounting and player tracking services.

A third disadvantage of separate hardware player tracking units is that the devices utilized by the player tracking unit, including the display 105, key pad 110, and card reader 115, are not accessible to the master gaming controller 125 within the gaming machine. Typically, the player tracking functions performed by the player tracking unit 120 are opaque to the master gaming controller 125. The player tracking unit 120 only communicates with the master gaming controller 125 to obtain information necessary for player tracking. Thus, the master gaming controller 125 can not typically use the card reader 115 for other gaming applications requiring a card reader. Therefore, in some instances, a second card reader may have to be installed on the gaming machine for gaming applications requiring a card reader. Since one card reader may be sufficient for use in multiple gaming applications, the installation of a second card reader would be very inefficient.

In view of the above, it would be desirable to provide a less expensive, less complicated and more efficient method and apparatus of providing player tracking services for a gaming machine.

SUMMARY OF THE INVENTION

This invention addresses the needs indicated above by providing a gaming machine with a plurality of software units providing player tracking services. The player tracking software eliminates the need for a separate hardware player tracking unit. The player tracking devices, including the card reader, are accessible to the master gaming controller on the gaming machine and may be utilized by the master gaming controller for other gaming applications. The player tracking software incorporates communication protocols for communicating with a variety of player tracking devices. Communication protocols, device interfaces and device drivers for operating the player tracking device and performing the player tracking services may be added or upgraded by loading the player tracking software to a memory mounted within the gaming machine.

One aspect of the present invention provides a gaming machine with player tracking services. The gaming machine may be characterized as including the following elements: 1) at least one input device for inputting player tracking information into the gaming machine, 2) a communication interface for transmitting at least the player tracking information to a site outside the gaming machine 3) a master gaming controller that controls one or more games played on the gaming machine and receives player tracking events from the input device and the site outside the gaming machine and 4) a memory storing player tracking software that allows the master gaming controller to operate on the player tracking events as a player tracking unit and provide gaming services. The input device may be a card reader, a key pad, a touch screen, a microphone, a wire-less communication interface, or a bar code reader.

In specific embodiments, the gaming machine may be a slot machine, a video slot machine, a keno game or a video poker game. Additionally, the gaming machine may include at least one display device for displaying the player tracking information where the display device is a monitor, a LCD, a fluorescent display or a sound projection device. The communication interface may be connected to a network where the network is a casino area network, wide area progressive network, bonus game network or a cashless system network

In specific embodiments, the memory may store software for one or more device drivers that allow the master gaming controller to operate at least some of the input devices. The device driver may use a communication protocol including Netplex, USB, Ethernet, Firewire, direct memory map, PCI, serial and parallel. The memory may store software for one or more device interfaces that allow the master gaming controller to detect the player tracking events from the input device where the device interface may be for a card reader, a monitor, a display, or key pad. The master gaming controller may include a memory storing software, which may be separate from the memory identified in item 4 above, that allows the master gaming controller to detect power-failures. To protect against power-failures the master gaming controller may store some player tracking events to a non-volatile memory.

In specific embodiments, the site outside the gaming machine may be a server where the master gaming controller includes a memory storing software for receiving the player tracking events from the site outside the gaming machine. Additionally, the memory may store software that allows the master gaming controller to receive player tracking information from the site outside the gaming machine and to send player tracking information to the site outside the gaming machine using one or more communication protocols. The player tracking information may be at least on of a player name, a time, a date, an amount wagered, a location, and a type of game and the communication protocol may be a TCP/IP communication protocol and a manufacturer player tracking protocol. The player tracking information may be input from a magnetic card, a smart card, a personal digital assistant, a finger print reader, a wire-less device, a sound device and a bar-coded ticket.

Another aspect of the invention provides a method for providing player tracking services on a gaming machine with a master gaming controller, an input device, and a communication interface. The method may generally be characterized as including: 1) loading player tracking software into a memory utilized by the master gaming controller on the gaming machine, 2) receiving a player tracking related event, 3) evaluating the player tracking event using the player tracking software and 4) sending player tracking information to at least one site outside the gaming machine using the communication interface. Additionally, the method may include one or more of the following: a) translating the player tracking information to a communication protocol used by the site outside the gaming machine, b) displaying player tracking information to a display screen, c) storing a player tracking event to a non-volatile memory and d) operating a player tracking device where the player tracking device is a card reader, a touch screen, a key pad, or a display. In specific embodiments, the player tracking software may include player tracking device interfaces, player tracking device drivers, player tracking event evaluators, and player tracking communication protocol translators.

These and other features of the present invention will be presented in more detail in the following detailed description of the invention and the associated figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a gaming machine with a hardware player tracking unit connected to two servers providing gaming services.

FIG. 2 is a perspective drawing of a gaming machine having a top box and other devices.

FIG. 3 is a block diagram of gaming machines with software player tracking units connected to two servers providing gaming services

FIG. 4 is a block diagram depicting gaming machine software elements in a gaming machine with a software player tracking unit.

FIG. 5 is a flow chart depicting a method for sending an event to a software player tracking unit.

FIG. 6 is a flow chart depicting a method for providing player tracking services using a software player tracking unit.

FIG. 7 is a flow chart depicting a method for initializing a gaming machine with a software player tracking unit.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Turning first to FIG. 2, a video gaming machine 2 of the present invention is shown. Machine 2 includes a main cabinet 4, which generally surrounds the machine interior (not shown) and is viewable by users. The main cabinet includes a main door 8 on the front of the machine, which opens to provide access to the interior of the machine. Attached to the main door are player-input switches or buttons 32, a coin acceptor 28, and a bill validator 30, a coin tray 38, and a belly glass 40. Viewable through the main door is a video display monitor 34 and an information panel 36. The display monitor 34 will typically be a cathode ray tube, high resolution flat-panel LCD, or other conventional electronically controlled video monitor. The information panel 36 may be a back-lit, silk screened glass panel with lettering to indicate general game information including, for example, the number of coins played. The bill validator 30, player-input switches 32, video display monitor 34, and information panel are devices used to play a game on the game machine 2. The devices are controlled by circuitry (not shown) housed inside the main cabinet 4 of the machine 2. Many possible games, including traditional slot games, video slot games, video poker, and keno, may be provided with gaming machines of this invention.

The gaming machine 2 includes a top box 6, which sits on top of the main cabinet 4. The top box 6 houses a number of devices, which may be used to add features to a game being played on the gaming machine 2, including speakers 10, 12, 14, a ticket printer 18 which prints bar-coded tickets 20, a key pad 22 for entering player tracking information, a florescent display 16 for displaying player tracking information and a card reader 24 for entering a magnetic striped card containing player tracking information. In addition, the player tracking information may be displayed using an LCD, a monitor or a sound projection device. Further, the top box 6 may house different or additional devices than shown in the FIG. 1. For example, the top box may contain a bonus wheel or a back-lit silk screened panel which may be used to add bonus features to the game being played on the gaming machine. During a game, these devices are controlled and powered, in part, by circuitry (not shown) housed within the main cabinet 4 of the machine 2.

Understand that gaming machine 2 is but one example from a wide range of gaming machine designs on which the present invention may be implemented. For example, not all suitable gaming machines have top boxes or player tracking features. In some gaming machines, the player tracking unit may be mounted in the top box 6 while in other gaming machines the player tracking unit may be mounted in the main cabinet 4. Further, some gaming machines have two or more game displays—mechanical and/or video. And, some gaming machines are designed for bar tables and have displays that face upwards. Those of skill in the art will understand that the present invention, as described below, can be deployed on most any gaming machine now available or hereafter developed.

Returning to the example of FIG. 1, when a user wishes to play the gaming machine 2, he or she inserts cash through the coin acceptor 28 or bill validator 30. Additionally, the bill validator may accept a printed ticket voucher which may be accepted by the bill validator 30 as an indicia of credit. During the game, the player typically views game information and game play using the video display 34.

At any time, the player may enter playing tracking information using the card reader 24, the keypad 22, and the florescent display 16. As another example, the player may enter playing tracking information using the card reader 24 and the video display 34 where the video display may be used as a touch screen to enter information. When the video display 34 is used as a touch screen to enter and display player tracking information, the key pad 22 and florescent display 16 may be eliminated from the gaming machine.

During the course of a game, a player may be required to make a number of decisions, which affect the outcome of the game. For example, a player may vary his or her wager on a particular game, select a prize for a particular game, or make game decisions which affect the outcome of a particular game. The player may make these choices using the player-input switches 32, the video display screen 34 or using some other device which enables a player to input information into the gaming machine. Certain player choices may be captured by player tracking software loaded in a memory inside of the gaming machine. For example, the rate at which a player plays a game or the amount a player bets on each game may be captured by the player tracking software.

During certain game events, the gaming machine 2 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to continue playing. Auditory effects include various sounds that are projected by the speakers 10, 12, 14. Visual effects include flashing lights, strobing lights or other patterns displayed from lights on the gaming machine 2 or from lights behind the belly glass 40. After the player has completed a game, the player may receive game tokens from the coin tray 38 or the ticket 20 from the printer 18, which may be used for further games or to redeem a prize. Further, the player may receive a ticket 20 for food, merchandise, or games from the printer 18. The type of ticket 20 may be related to past game playing recorded by the player tracking software within the gaming machine 2. In some embodiments, these tickets may be used by a game player to obtain game services.

FIG. 3 is a block diagram of gaming machines with software player tracking units connected to two servers providing gaming services. The gaming machines 300, 301, and 302 includes hardware and software for providing player tracking services and accounting services in conjunction with the servers 350 and 355 located outside of the gaming machine and connected to the gaming machines via the networks 140 and 145. Unlike the gaming machine of FIG. 1, these gaming machines do not contain a separate hardware player tracking unit. A few examples of networks connecting the gaming machines may be a casino area network, a wide area progressive network, a bonus game network or a cashless system network. The gaming machine 300 communicates with the networks 140 and 145 via the main communication board 360 which provides a communication interface to the networks 140 and 145 and the servers 350 and 355. The gaming machines 301 and 302 also typically have main communication boards that provide a communication interface to the networks 140 and 145 and the servers 350 and 355.

The servers may provide a number of gaming services such as bonus game information, cashless ticket validation, player tracking services, and the like. Typically, for player tracking, the servers will provide player tracking and accounting services. For example, as described with reference to FIG. 1, server 350 may be the player tracking server 150 and server 355 may be the slot accounting server 155. Accounting services involve tracking the cash flow in and out of the gaming machine. This information may be used for auditing purposes by the casino operator. Player tracking services may involve tracking game usage of individual players. For example, when server 350 or 355 is providing player tracking services, what type of games a player is playing, how fast the player is playing the game, when the player is playing the game, where the player is playing the game, and the name of the player are examples of player tracking information which may be sent by the gaming machine 300 to one the server providing these services. The player tracking information may be used to provide rewards to the player to encourage additional game play.

The gaming machine 300 utilizes a top box 330 mounted on top of the gaming machine. Three player tracking devices, the display 305, the key pad 310, and the card reader 315, which may be used to provide player tracking services and obtain player tracking information, are mounted within the top box. The display 305, the key pad 310, and the card reader 315 may be connected directly to the master gaming controller (MGC) 325 via the device connections 330 or through some other type of interface that is connected to the master gaming controller 325. However, a separate hardware player tracking unit used to operate the player tracking devices, as described with reference to FIG. 1, may be eliminated.

Typically, the card reader is used to obtain player tracking information from a magnetic striped card carried by the player. For example, a player's name and a password may be encoded in a magnetic striped card, which may be inserted into the card reader 315. As other examples, the player tracking information may be input into the gaming machine using a smart card, a finger print reader, a wire-less device, a personal digital assistant, a sound device ( e.g. a players voice), a key pad 310, a touch screen monitor 375 or a bar-coded ticket. To utilize these mediums to input information into the gaming machine 300, a wire-less communication interface, a microphone, a bar code-reader may be required in the gaming machine 300.

After a player has input his or her player tracking information into the gaming machine using some input medium, the player tracking information input into the gaming machine may be displayed to the player in some manner. For example, a player name or some other type of identification may be displayed to the display 305 or the monitor 375 with a message requesting the player to enter a numeric code corresponding to the player name input into the gaming machine. The numeric code or password may be input into the gaming machine 300 using the display 305 or the monitor 375 when the monitor is used as a touch screen. In some embodiments, the key pad 310 and the display 305 may be eliminated and the monitor 375 with a touch screen may be used in lieu of the key pad and display for player tracking purposes. Using the monitor 375 instead of the display 305 and key pad 310, the operation of the gaming machine is simplified. With a separate hardware player tracking unit, the monitor is not typically utilized for player tracking purposes because the monitor is not accessible to the hardware player tracking unit.

Player tracking services may be provided by software player tracking units loaded into the memory 335 of the master gaming controller 325. A few examples of the software player tracking units that may be utilized are player tracking device interfaces, player tracking device drivers, player tracking event evaluators and player tracking communication protocol translators. Some of the software player tracking units may be specific to player tracking services while other software units may be shared. These software units are described in more detail with reference to FIG. 4. The software player tracking units may be stored in particular memory locations blocks 340, 345, 350 and 355 within the memory 335. Some memory locations may be protected, including 340, 345, 350 and 355, from other locations in memory so that information stored in the protected memory locations is not inadvertently overwritten. When performing and tracking cash transactions, the protected memory can prevent loss of this information. Most modem operating systems provide the memory protection function. In a specific embodiment, the allocation of the protected memory spaces is performed using the QNX operating system (QNX Software Systems, LTD, Kanata, Canada)

The player tracking software loaded into the memory 335 may be specific to a particular configuration of the gaming machine 300 and the servers, 350 and 355, outside the gaming machine. When the gaming machine 300 is initialized, the player tracking software needed to operate a particular display 305, key pad 310, and card reader 315 and communicate with the servers 350 and 355 may be loaded from a binary database 365 based on a configuration file stored within the gaming machine. For example, when the gaming machine 300 is initialized, a device driver and a device interface particular to the communication and operation specifications of the card reader 315 maybe loaded into the memory 335 from the binary database 365.

Additionally, when the gaming machine is initialized, a player tracking communication protocol translator for the IGT communication protocol and a bonus gaming communication protocol translator for the Acre's communication protocol may be loaded into memory 335 from the binary database 365. The player tracking communication protocol translators may allow the gaming machine 300 to communicate with one or more servers providing player tracking services and other types of services. For example, the server 350 may use a communication protocol of IGT (SAS) to provide player tracking services and the server 355 may use a communication protocol of Acre's to provide bonus gaming services. Thus, the player tracking communication protocol translators are more general than providing just player tracking communications and may be used to provide communications for many different types of gaming machine services (e.g. bonus games, progressive play, accounting, prize services etc.).

The gaming machine may be initialized when the power supply 370 to the gaming machine 300 is initially turned on or after a power interruption to the gaming machine 300 has occurred. The configuration file may be stored in the non-volatile memory 380. Details of the gaming machine software initialization process are described with reference to FIG. 7.

The binary database, which may be a magnetic storage device, a CD-ROM, or another type of storage device, may contain player tracking software enabling the operation of many types of player tracking input devices including the card reader 315, the key pad 310, and monitor 375 or enabling the operation of many types of player tracking display devices including the display 305 or the monitor 375. Additionally, the binary database may contain player tracking communication protocol translators enabling the gaming machine 300 to communicate with servers using many different communication protocols.

At the time of filing, there were as many as 19 different manufactures of player tracking units (10 manufactures of player tracking units were listed in the background section). Many of these manufacturers use different communication protocols. The different types of communication protocols used by the different manufacturers of player tracking units are referred to as “manufacturer player tracking protocols.” For example, IGT uses the SAS communication protocol which may be different from the communication protocols used by player tracking units manufactured by Bally's Gaming Systems or Acre's Gaming Incorporated. Further, different models of player tracking hardware from the same manufacturer may use different communication protocols.

Besides the manufacturer player tracking protocols, the gaming machine 300 with player tracking software may utilize other communication protocols to communicate with the servers. For example, the gaming machine 300 may utilize a TCP/IP communication protocol to communicate with the servers 350 and 355. An advantage of using a TCP/IP or another standard communication protocols is that the number of connections into the gaming machine may be reduced. For example, in FIG. 3, the gaming machine 300 is connected to the network 140 via connection 380 and is connected to network 145 using connection 381. The two connections may be used because the server 350 and server 355 use different connection hardware in their respective networks 140 and 145. Using the TCP/IP communication protocol or some other standard communication protocol, one connection may be used to communicate between the gaming machine 300, the two networks 140 and 145 and devices on the networks including servers 350 and 355. In addition, one communication protocol may be used to communicate with a single server providing multiple services. For example, the server 350 may provide accounting services, player tracking services and progressive game services.

The three gaming machines 300, 301, and 302 are each connected to servers 350 and 355 via the network connections 140 and 145. The networks 140 and 145 may be comprised of fiber optic connections, copper Ethernet connections, wire-less connections or any combinations thereof of the three types of connections. In addition, the networks may include additional equipment needed for communication with each server including concentrators and translators. The networks 140 and 145 may be a local area network usually located within one location such as a casino including a casino area network, a bonus game network, or a cashless system network or a wide area network connecting many physical locations such as a wide area progressive network. The networks 140 and 145 may be separate from one another or connected in some manner.

One advantage of utilizing player tracking software to perform player tracking services versus using a separate hardware player tracking unit relates to the maintenance of the player tracking system which includes the gaming machines and the servers. When an old server is replaced in the player tracking system with a new server using a different communication protocol than the communication protocol used by the old server and a separate hardware player tracking unit is used, a new hardware player tracking unit may have to be installed in each gaming machine to allow communications with the new server. For a large number of gaming machines, the maintenance time and cost required to replace a large number of hardware player tracking units may be significant. Using player tracking software to communicate with a new server, a new communication protocol may be loaded from the binary database without changing the hardware in the gaming machine. The gaming machine may be directed to use the new communication protocol by changing a configuration file within the gaming machine 300. The binary database 365 may already contain the communication protocol needed to communication with the new server or the new communication protocol may be easily downloaded into the binary database 365 from a portable storage device or over the network connections into the gaming machine 300. Thus, the cost and maintenance time associated with installing a new server may be significantly reduced using player tracking software instead of using player tracking hardware.

As another example, when a hardware player tracking unit is used, to upgrade the card reader 315 or install a new card reader 315, each player tracking unit be may have to be upgraded or replaced in each gaming to accommodate the new card reader 315. Again, for a large number of gaming machines, the maintenance time and cost to replace or upgrade a large number of hardware player tracking units is significant. Using player tracking software, a device driver and a device interface to operate and communicate with the new card reader may be loaded from the binary database without changing the hardware in the gaming machine. Thus, the cost and maintenance time associated with installing a new card reader may be significantly reduced using player tracking software instead of using player tracking hardware.

Various hardware and software architectures may be used to implement this invention. FIG. 4 is a block diagram depicting one. suitable example of gaming machine software elements in a gaming machine with a software player tracking unit. The gaming machine software 401 is connected to the physical devices 492 which may be used to obtain player tracking information and provide player tracking and other related services. As described with reference to FIG. 3, the software player tracking units are loaded into the memory of the master gaming controller at the time of initialization of the gaming machine.

The main parts of the gaming machine software 401 are communications protocols 410, a gaming system 415, an event manager 430, device interfaces 455, and device drivers 459. The device drivers 459 communicate directly with the physical devices including a monitor 493, a key pad 494, a display 496, a card reader 498 or any other physical devices that may be used to provide player tracking or other related gaming services. The device drivers 459 utilize a communication protocol of some type that enable communication with a particular physical device. The device driver abstracts the hardware implementation of a device. For example, a device drive may be written for each type of card reader that may be potentially connected to the gaming machine. Examples of communication protocols used to implement the device drivers 459 include Netplex 460, USB 465, Serial 470, Ethernet 475, Firewire 485, 1/0 debouncer 490, direct memory map, serial, PCI 480 or parallel. Netplex is a proprietary IGT standard while the others are open standards. For example, USB is a standard serial communication methodology used in the personal computer industry. USB Communication protocol standards are determined by the USB-IF, Portland, Oregon, http://www.usb.org.

The device drivers may vary depending on the manufacturer of a particular physical device. For example, a card reader 498 from a first manufacturer may utilize Netplex 460 as a device driver while a card reader 498 from a second manufacturer may utilize a serial protocol 470. Typically, only one physical device of a given type is installed into the gaming machine at a particular time (e.g. one card reader). However, device drivers for different card readers or other physical devices of the same type, which vary from manufacturer to manufacturer, may be stored in memory on the gaming machine. When a physical device is replaced, an appropriate device driver for the device is loaded from a memory location on the gaming machine allowing the gaming machine to communicate with the device uniformly.

The device interfaces 455, including a key pad 435, a display 440, a card reader 445, and a monitor 450, are software units that provide an interface between the device drivers and the gaming system 415. The device interfaces 455 may receive commands from the software player tracking unit 424 requesting an operation for one of the physical devices. For example, the software player tracking unit 424 may send a command to the display interface 440 requesting that a message of some type be displayed on the display 496. The dashed arrow from the software player tracking unit 424 to the device interfaces 455 indicates a command being sent from the software player tracking unit 424 to the device interfaces 455. The display interface 440 sends the message to the device driver for the display 496. The device driver for the display communicates the command and message to the display 496 allowing the display 496 to display the message. The device interfaces 455 also receive player tracking events from the physical devices. The device driver can a device routinely for input or preferably is notified via an interrupt signal. For example, when a card containing player tracking information is inserted into the card reader 498, the card reader device interface 445 receives a message via one of the device drivers 459 indicating the card has been inserted into the card reader 498. When using the interrupt method, the message is sent directly to the card reader device interface 445. When using the polling method, the message is sent in response to a query by the card reader device interface such as “has a card been inserted?” Typically, the device drivers 459 do not perform any high level event handling.

The card-in message is a player tracking event. Other examples of player tracking events which may be received from one of the physical devices 492 by a device interface, include 1) Main door/Drop door/Cash door openings and closings, 2) Bill insert message with the denomination of the bill, 3) Hopper tilt, 4) Bill jam, 5) Reel tilt, 6) Coin in and Coin out tilts, 7) Power loss, 8) Card insert, 9) Card removal, 10) Promotional card insert, 11) Promotional card removal, 12) Jackpot and 13) Abandoned card. In addition, other types of events, besides player tracking events, may be received by the device interfaces 455 because the physical devices 492 may be shared by applications other than player tracking.

Typically, the player tracking event is an encapsulated information packet of some type posted by the device interface. The player tracking event is created when input is detected by one of the device interfaces 455. The events are distributed through a queued delivery system which is described below in more detail (See Event Manager 430 and Event Distribution 425). Each player tracking event has one source. For example, as described above, a card-in player tracking event is generated when a player tracking card is inserted into the card reader. However, the player tracking events may be distributed to more than one destination. In this manner, an event differs from a device command or a device signal which is typically a point to point communication such as a function call within a program or interprocess communication between processes.

Each player tracking event contains a standard header with additional information attached to the header. The additional information is typically used in some manner at the destination. For example, the card-in player tracking event may contain a players name which may be sent to a server outside of the gaming machine.

A player tracking event may be received by the device interfaces 455 by polling or direct communication. The solid black arrows indicate event message paths between the various software player tracking units. Using polling, the device interfaces 455 regularly send messages to the physical devices 492 via the device drivers 459 requesting whether an event has occurred or not. For example, the card reader 445 device interface may regularly send a message to the card reader physical device asking whether a card has been inserted into the card reader. Using direct communication, an interrupt or signal indicating a player tracking event has occurred is sent to the device interfaces 455 via the device drivers 459 when an player tracking event has occurred. For example, when a card is inserted into the card reader, the card reader 498 may send a message to the device interface for the card reader 445 indicating a card has been inserted.

An advantage of using device interfaces 455 is that the gaming system software 415 may be isolated from the device driver software 459 such that changes in the device driver software do not affect the gaming system software 415 or even the device interface software 455. For example, the player tracking events and commands that each physical device 492 sends and receives may be standardized so that all the physical devices 492 send and receive the same commands and the same player tracking events. Thus, when a physical device is replaced 492, a new device driver 459 may be required to communicate with the physical device. However, device interfaces 455 and gaming machine system software 415 remain unchanged. Thus, the physical devices 492 utilized for player tracking services may be easily exchanged or upgraded with minimal software modifications. In the case where the software device driver is known and stored in memory at some location on the gaming machine for the exchanged or upgraded physical device, the new software device driver is loaded into memory for the new physical device and the old device driver for the old physical device is removed from memory.

Once a device interface 455 has received a player tracking event or some other event from a physical device 492 the event is posted to the event manager. The event manager is typically a shared resource that is utilized by all of the software applications in the gaming system 415 including the virtual player tracking system 424. The event manager evaluates each event to determine whether the event contains critical information that is protected from power hits on the gaming machine. Events containing critical information may be sent to the Non-volatile memory manager 429 for storage in non-volatile memory. The non-volatile memory manager 429 may also be shared by other applications.

Since the source of an event, which may be a device interface or a server outside of the gaming machine, is not usually directly connected to the event destination, the event manager acts as an interface between the event source and the one or more event destinations. After the source posts the event, the source returns back to performing its intended function. For example, the source may be a device interface polling a hardware device. The event manager processes the event posted by the source and places the event in one or more queues for delivery. As an example, the event manager may prioritize each event and place it in a different queue depending on the priority assigned to the event.

After an event is received by the event manager 430, the event is sent to event distribution 425 in the gaming system 415. Event distribution 425 broadcasts the event to the software units that may operate on the event. For example, when a player enters a player tracking identification code using the key pad 494, this event may arrive at software player tracking unit after the event has passed through the device drivers 459, the key pad device interface 435, the event manager 430, and the event distribution 425. After receiving an event, the player tracking software 424 evaluates the event and determines whether a response is required to the event. Thus, one function of the player tracking software is as a player tracking event evaluator. In response to an event, the software player tracking unit may 1) generate a new event and post it to the event manager 430, 2) send a command to the device interfaces 455, 3) send a command or information to the player tracking communication protocol 400 so that the information may be sent outside of the gaming machine, 4) do nothing or 5) perform combinations of 1),2) and 3).

Events may be distributed and evaluated by more than one software unit within the gaming system 415. For example, when a player tracking event occurs it may be sent to the software player tracking unit 424 which evaluates the event and in parallel the event may be sent to the communication manager 420 which sends the events to the communication protocol software 410, including the wide area progressive protocol and the player tracking protocol 400. As another example, when the card reader inputs a card for an electronic cash transaction, the event may be sent to the software player tracking unit 424 which evaluates the event and in parallel the event may be sent to the bank manager 422 which evaluates the event. Additionally, the software units within the gaming system 415 including the communication manager 420 and the bank manager 422 may be shared by other applications other than the software player tracking unit 424. For example, when a coin is entered into the gaming machine using the coin acceptor, an event indicating a coin has been accepted by the coin acceptor may be posted to the bank manager 422.

The communication protocols typically translate information from one communication format to another communication format. For example, a gaming machine may utilize one communication format while a server providing accounting services may utilize a second communication format. The player tracking protocol translates the information from one communication format to another allowing information to be sent and received from the server. Additionally, the server outside the gaming machine may send events via the player tracking protocol 400 which are sent to the event manager.

Many different communication protocols may be stored in memory on the gaming machine allowing the gaming machine to communicate with many different devices outside the gaming machine. Typically, these protocols are loaded into the gaming system software 401 when the gaming machine is initialized. However, communication protocols may also be loaded and unloaded from the gaming machine system software while the gaming machine is operating.

Two examples of communication protocols are wide area progressive 405 and player tracking protocol 400. The wide are progressive protocol 405 may be used to send information over a wide area progressive network and the player tracking protocol 400 may be used to send information over a casino area network to a server, as described with reference to FIG. 3, outside of the gaming machine. The server may provide a number of gaming services including accounting and player tracking services. Virtual services such as these may also share the same communications medium i.e. a common network and connection scheme to the gaming machine.

The power hit detection software 428 monitors the gaming machine for power fluctuations. The power hit detection software 428 may be stored in a memory different from the memory storing the rest of the software in the gaming system 415 or it may stored in the same memory. When the power hit detection software 428 detects that a power failure of some type may be eminent, an event may be sent to the event manger 430 indicating a power failure has occurred. This event is posted to the event distribution software 425 which broadcasts the message to all of the software units and devices within the gaming machine that may be affected by a power failure.

The various software elements described herein (e.g., the device drivers, device interfaces, communication protocols, etc.) may be implemented as software objects or other executable blocks of code or script. In a preferred embodiment, the elements are implemented as C++ objects. The event manager, event distribution, software player tracking unit and other gaming system 415 software may also by implemented as C++ objects. Each are compiled as individual processes and communicate via events and/or interprocess communication (IPC).

FIG. 5 is a flow chart depicting a method for sending an event to a software player tracking unit. In step 500, the player tracking hardware detects an event. For example, a card reader determines a card has been inserted into the card reader. In step 505, the player tracking hardware communicates the event to the player tracking software device driver. The device driver provides the interface between the gaming machine software and the physical device. In step 510, the player tracking device driver sends the event to the player tracking device interface. The player tracking device interface is the interface between the device drivers and the gaming system. The player tracking device interface may be standardized allowing different device drivers to be utilized without modifying the software for the player tracking device interface.

In step 515, the player tracking device interface sends the event to the event manager. In step 520, the event manager determines whether the event contains critical information. Typically, critical information is protected from power failures or other situations that may cause the gaming machine to lose the critical information. In step 525, when the event contains critical information, the critical information is stored to a non-volatile memory device. In step 530, the event manager sends the event to event distribution. In step 535, the software player tracking unit receives the event from the event distribution software. For example, an event indicating a card containing player tracking information was inserted into the card reader may be received by the software player tracking unit.

FIG. 6 is a flow chart depicting a method for providing player tracking services using a software player tracking unit. In step 600, the software player tracking unit receives an event from the event distribution software. In step 605, the software player tracking unit evaluates the event and may also operate on information contained in the event.

In steps 610 and 620, the type of action generated by the software player tracking unit is evaluated. The player tracking unit may generate a new event, send information or a message to a device outside the gaming machine, send a command to a physical device within the gaming machine or combinations of each of the preceding events such as generating a new event and sending a command to a physical device within the gaming machine. The order that the events in steps 610 and 620 are evaluated is typically arbitrary. After evaluating and operating on the old event, a new event may be created and sent to the event manager in steps 610 and 625. In steps 615 and 630, after evaluating and operating on the event, the software player tracking unit may send information to the player tracking protocol allowing the information to be sent to a device, including a server, located outside of the gaming machine.

In step 635, the software player tracking unit sends a command to the device interface. For example, the player tracking unit may send a command to the display or monitor device interface requesting the display hardware or monitor hardware to display a message. In step 640, the device interface sends a command to the device driver that communicates with the physical hardware to which the command from the virtual player tracking software is directed. In step 645, the player tracking device driver sends the command from the software player tracking unit to the player tracking hardware. In step 650, the player tracking hardware receives the command from the device driver. In step 655, the player tracking hardware performs the operation or operations directed by the command from the virtual software player tracking unit. For example, the command may have information that is displayed on the monitor.

FIG. 7 is a flow chart depicting a method for initializing a gaming machine with a software player tracking unit for one embodiment of the present invention. In general, the number of steps and types of steps may vary depending on the implementation. In the figure, possible steps used to initialize a gaming machine with a software player tracking unit are described. In step 700, the power to the gaming machine is turned on. In step 705, the master gaming controller loads configuration files which allow the gaming machine to determine what software needs to be loaded into the gaming system. For example, the configuration file might indicate the device drivers needed to communicate with the physical devices connected to the gaming machine. As another example, the configuration files might contain information regarding the operational requirements of the gaming machine in a particular jurisdiction.

In step 710, critical devices are loaded into the memory of the master gaming controller. The critical devices support error conditions that might occur on the gaming machine and do not typically post events. In step 715, the player tracking devices including, the card reader, display and key pad, are loaded. In step 720, the resource managers are loaded. As described with reference to FIG. 4, the bank manager and communication manager are examples of resource managers. In step 725, the player tracking device interfaces are loaded. For example, device interfaces for a card reader, display and key pad may be loaded. In step 730, the software player tracking unit is launched allowing the gaming machine to perform player tracking services. In step 735, the communication protocols allowing the gaming machine to communicate with an outside device such as a server are loaded and launched.

Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. For instance, while the gaming machines of this invention have been depicted as having top box mounted on top of the main gaming machine cabinet, the use of gaming devices in accordance with this invention is not so limited. For example, gaming machine may be provided without a top box. 

1. A gaming machine comprising: a master gaming controller designed or configured i) to control one or more games played on the gaming machine, ii) to load gaming software for execution from a memory wherein the loaded gaming software includes player tracking software and a first software application; and iii) to execute player tracking software that allows the master gaming controller to provide player tracking services, wherein said player tracking software is operable to: a) receive event information from one or more event sources wherein the one or more event sources include at least physical devices coupled to the gaming machine; b) evaluate whether the event information is a player tracking event; c) when the event information is the player tracking event, determine a response to the player tracking event; d) generate the response to player the tracking event; e) control operating features of at least one of the physical devices to output player tracking information; iv) to execute a first software application that provides a feature on the gaming machine other than the playing services wherein the first software application and the player tracking software are each operable to at least receive, at proximately a same time, first event information from a first input device included in the physical devices and are each operable to evaluate whether a response is needed to the first event information wherein the first input device is used in a first context by the player tracking software to provide player tracking services and wherein the first input device is used in a second context by the first software application to provide the feature other than the player tracking services; a main display coupled to the housing used to display the one or more games controlled by the master gaming controller; one or more input devices coupled to the housing for accepting indicia of credit wherein the indicia of credit are for making wagers on the games played on the gaming machine; one or more output devices coupled to the housing for dispensing the indicia of credit; a communication interface coupled to the housing for communicating at least the player tracking information between the master gaming controller and a player tracking server the memory storing the gaming software including the player tracking software and the first application software.
 2. The gaming machine of claim 1, further comprising: a cabinet.
 3. The gaming machine of claim 1, wherein the physical devices are selected from the group consisting of a card reader, a key pad, a touch screen, a microphone, a wire-less communication interface second display, or a bar code reader.
 4. The gaming machine of claim 1, further comprising a sound projection device for outputting the player tracking information.
 5. The gaming machine of claim 1, further comprising a second display separate from the main display for displaying the player tracking information wherein the second display is controlled by the master gaming controller and wherein the second display is a monitor, a LCD, or a fluorescent display.
 6. The gaming machine of claim 1, wherein the game is a mechanical slot game, a video slot game, a keno game or a video poker game.
 7. The gaming machine of claim 1, wherein the communication interface is connected to a network
 8. The gaming machine of claim 1, wherein the memory further stores software for one or more device drivers that allow the master gaming controller to operate the physical devices including a card reader, a second display coupled to the gaming machine.
 9. The gaming machine of claim 1, wherein the memory further stores software for one or more device interfaces that allow the master gaming controller to receive the event information from the physical devices coupled to the gaming machine.
 10. The gaming machine of claim 1, wherein the one or more event sources include the player tracking server.
 11. The gaming machine of claim 1, wherein the player tracking information is at least one of a player name, a time, a date, an amount wagered, a location, and a type of game.
 12. The gaming machine of claim 1, wherein the memory further stores software that allows the master gaming controller to select a communication protocol wherein the selected communication protocol allows the master gaming controller to communicate with the player tracking server.
 13. The gaming machine of claim 1, wherein the gaming machine is operable to receive the player tracking information from one or more of a magnetic-striped card, a smart card, a personal digital assistant, a finger print reader, a wire-less device, a sound device and a bar-coded ticket.
 14. The gaming machine of claim 1, further comprising: a non-volatile memory for storing game data that is recoverable after a power failure including game data generated from the player tracking software and game data generated from the play of a game on the gaming machine.
 15. The gaming machine of claim 1, wherein the communication interface includes a wire-less communication interface.
 16. A method for providing player tracking services on a gaming machine providing wagering on a game of chance, the method comprising: reading one or more configuration files that specify the gaming software to load wherein the gaming software includes player tracking software and a first software application; loading the gaming software including the player tracking software, a first software application and software for generating a game of chance played on the gaming machine specified by the one or more configuration files into a memory utilized by the master gaming controller on the gaming machine for executing the gaming software; executing the player tracking software, first software application and the software for generating a game of chance wherein the player tracking software allows the master gaming controller to provide player tracking services on the gaming machine using one or more physical devices coupled to the gaming machine and wherein the first software application provides a feature on the gaming machine other than player tracking services wherein the first software application and the player tracking software are each operable to at least receive, at proximately a same time, event information from a first input device included in the physical devices and are each operable to evaluate whether a response is needed to the event information wherein the first input device is used in a first context by the player tracking software to provide player tracking services and wherein the first input device is used in a second context by the first software application to provide the feature other than the player tracking services; receiving in the executed player tracking software first event information from the first input device; determining in the executed player tracking software the first event information is related to the player tracking services; evaluating in the executed player tracking software the first event information to determine a response to generate; generating the response related to the player tracking services; receiving a wager on the game of chance; and displaying under control of the master gaming controller an outcome for the game of chance on a main display.
 17. The method of claim 16, further comprising translating the player tracking information to a communication protocol used by a player tracking server.
 18. The method of claim 16, wherein the player tracking information is at least one of a player name, a time, a date, an amount wagered, a location, and a type of game.
 19. The method of claim 16, wherein the display device is one of the main display, or a monitor, a fluorescent screen or an LCD separate from the main display.
 20. The method of claim 16, further comprising storing the first player tracking event to a non-volatile memory wherein the non-volatile is configured to store data related to the game of chance generated by the master gaming controller.
 21. The method of claim 16, further comprising: receiving player tracking information from one or more of a card reader, a touch screen, a key pad, panel buttons, a display or a bar-code reader. 